package com.tianhe.common.tongsuo;

import java.lang.annotation.*;

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Tongsuo {
    // 可以添加一些配置参数，如是否强制加密等
    boolean required() default true;
    /**
     * 加密算法类型
     */
    CryptoAlgorithm algorithm() default CryptoAlgorithm.SM4_CBC;

    /**
     * 密钥别名（用于从密钥管理系统获取）
     */
    String keyAlias() default "";

    enum CryptoAlgorithm {
        SM3,          // SM3哈希
        SM4_CBC,      // SM4 CBC模式
        SM4_ECB       // SM4 ECB模式
    }

}
